home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / internet / vbipsmtp / echoudp.frm < prev    next >
Text File  |  1995-11-02  |  16KB  |  488 lines

  1. VERSION 4.00
  2. Begin VB.Form frmMain 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "UDP Echo Sample Application"
  5.    ClientHeight    =   5820
  6.    ClientLeft      =   4620
  7.    ClientTop       =   2565
  8.    ClientWidth     =   4545
  9.    BeginProperty Font 
  10.       name            =   "Arial"
  11.       charset         =   0
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    Height          =   6225
  20.    Icon            =   "EchoUDP.frx":0000
  21.    Left            =   4560
  22.    LinkTopic       =   "Form1"
  23.    MaxButton       =   0   'False
  24.    ScaleHeight     =   5820
  25.    ScaleWidth      =   4545
  26.    Top             =   2220
  27.    Width           =   4665
  28.    Begin VB.PictureBox Picture1 
  29.       BorderStyle     =   0  'None
  30.       BeginProperty Font 
  31.          name            =   "MS Sans Serif"
  32.          charset         =   0
  33.          weight          =   700
  34.          size            =   8.25
  35.          underline       =   0   'False
  36.          italic          =   0   'False
  37.          strikethrough   =   0   'False
  38.       EndProperty
  39.       Height          =   1185
  40.       Left            =   105
  41.       ScaleHeight     =   1185
  42.       ScaleWidth      =   4425
  43.       TabIndex        =   3
  44.       Top             =   630
  45.       Width           =   4425
  46.       Begin VB.OptionButton opServerAddress 
  47.          Caption         =   "Use Server Address"
  48.          BeginProperty Font 
  49.             name            =   "MS Sans Serif"
  50.             charset         =   0
  51.             weight          =   400
  52.             size            =   8.25
  53.             underline       =   0   'False
  54.             italic          =   0   'False
  55.             strikethrough   =   0   'False
  56.          EndProperty
  57.          Height          =   225
  58.          Left            =   2310
  59.          TabIndex        =   9
  60.          Top             =   855
  61.          Width           =   2115
  62.       End
  63.       Begin VB.OptionButton opServerName 
  64.          Caption         =   "Use Server Name"
  65.          BeginProperty Font 
  66.             name            =   "MS Sans Serif"
  67.             charset         =   0
  68.             weight          =   400
  69.             size            =   8.25
  70.             underline       =   0   'False
  71.             italic          =   0   'False
  72.             strikethrough   =   0   'False
  73.          EndProperty
  74.          Height          =   225
  75.          Left            =   210
  76.          TabIndex        =   8
  77.          Top             =   855
  78.          Value           =   -1  'True
  79.          Width           =   1905
  80.       End
  81.       Begin VB.TextBox txServerAddress 
  82.          BackColor       =   &H00FFFFFF&
  83.          BeginProperty Font 
  84.             name            =   "MS Sans Serif"
  85.             charset         =   0
  86.             weight          =   400
  87.             size            =   8.25
  88.             underline       =   0   'False
  89.             italic          =   0   'False
  90.             strikethrough   =   0   'False
  91.          EndProperty
  92.          Height          =   285
  93.          Left            =   1575
  94.          TabIndex        =   7
  95.          Top             =   450
  96.          Width           =   2745
  97.       End
  98.       Begin VB.TextBox txServerName 
  99.          BackColor       =   &H00FFFFFF&
  100.          BeginProperty Font 
  101.             name            =   "MS Sans Serif"
  102.             charset         =   0
  103.             weight          =   400
  104.             size            =   8.25
  105.             underline       =   0   'False
  106.             italic          =   0   'False
  107.             strikethrough   =   0   'False
  108.          EndProperty
  109.          Height          =   285
  110.          Left            =   1575
  111.          TabIndex        =   6
  112.          Top             =   100
  113.          Width           =   2745
  114.       End
  115.       Begin VB.Label Label2 
  116.          Alignment       =   1  'Right Justify
  117.          Appearance      =   0  'Flat
  118.          BackColor       =   &H00C0C0C0&
  119.          Caption         =   "Server Address :"
  120.          BeginProperty Font 
  121.             name            =   "MS Sans Serif"
  122.             charset         =   0
  123.             weight          =   400
  124.             size            =   8.25
  125.             underline       =   0   'False
  126.             italic          =   0   'False
  127.             strikethrough   =   0   'False
  128.          EndProperty
  129.          ForeColor       =   &H80000008&
  130.          Height          =   225
  131.          Left            =   0
  132.          TabIndex        =   5
  133.          Top             =   450
  134.          Width           =   1485
  135.       End
  136.       Begin VB.Label Label1 
  137.          Alignment       =   1  'Right Justify
  138.          Appearance      =   0  'Flat
  139.          BackColor       =   &H00C0C0C0&
  140.          Caption         =   "Server Name :"
  141.          BeginProperty Font 
  142.             name            =   "MS Sans Serif"
  143.             charset         =   0
  144.             weight          =   400
  145.             size            =   8.25
  146.             underline       =   0   'False
  147.             italic          =   0   'False
  148.             strikethrough   =   0   'False
  149.          EndProperty
  150.          ForeColor       =   &H80000008&
  151.          Height          =   225
  152.          Left            =   0
  153.          TabIndex        =   4
  154.          Top             =   100
  155.          Width           =   1485
  156.       End
  157.    End
  158.    Begin VB.TextBox txStatus 
  159.       BackColor       =   &H00C0C0C0&
  160.       BeginProperty Font 
  161.          name            =   "MS Sans Serif"
  162.          charset         =   0
  163.          weight          =   400
  164.          size            =   8.25
  165.          underline       =   0   'False
  166.          italic          =   0   'False
  167.          strikethrough   =   0   'False
  168.       EndProperty
  169.       Height          =   330
  170.       Left            =   105
  171.       TabIndex        =   14
  172.       Top             =   5355
  173.       Width           =   4320
  174.    End
  175.    Begin VB.CommandButton btnEcho 
  176.       Caption         =   "&Echo"
  177.       BeginProperty Font 
  178.          name            =   "MS Sans Serif"
  179.          charset         =   0
  180.          weight          =   400
  181.          size            =   8.25
  182.          underline       =   0   'False
  183.          italic          =   0   'False
  184.          strikethrough   =   0   'False
  185.       EndProperty
  186.       Height          =   330
  187.       Left            =   180
  188.       TabIndex        =   0
  189.       Top             =   3045
  190.       Width           =   1275
  191.    End
  192.    Begin VB.ListBox lbEcho 
  193.       BackColor       =   &H00C0C0C0&
  194.       BeginProperty Font 
  195.          name            =   "MS Sans Serif"
  196.          charset         =   0
  197.          weight          =   400
  198.          size            =   8.25
  199.          underline       =   0   'False
  200.          italic          =   0   'False
  201.          strikethrough   =   0   'False
  202.       EndProperty
  203.       Height          =   1590
  204.       Left            =   105
  205.       TabIndex        =   1
  206.       Top             =   3675
  207.       Width           =   4320
  208.    End
  209.    Begin VB.TextBox txData 
  210.       BackColor       =   &H00FFFFFF&
  211.       BeginProperty Font 
  212.          name            =   "MS Sans Serif"
  213.          charset         =   0
  214.          weight          =   400
  215.          size            =   8.25
  216.          underline       =   0   'False
  217.          italic          =   0   'False
  218.          strikethrough   =   0   'False
  219.       EndProperty
  220.       Height          =   750
  221.       Left            =   1575
  222.       TabIndex        =   13
  223.       Text            =   "This is a sample of echo data."
  224.       Top             =   2625
  225.       Width           =   2850
  226.    End
  227.    Begin VB.OptionButton opServiceNumber 
  228.       Caption         =   "Use echo Port Number (7)"
  229.       BeginProperty Font 
  230.          name            =   "MS Sans Serif"
  231.          charset         =   0
  232.          weight          =   400
  233.          size            =   8.25
  234.          underline       =   0   'False
  235.          italic          =   0   'False
  236.          strikethrough   =   0   'False
  237.       EndProperty
  238.       Height          =   225
  239.       Left            =   315
  240.       TabIndex        =   11
  241.       Top             =   2300
  242.       Value           =   -1  'True
  243.       Width           =   2535
  244.    End
  245.    Begin VB.OptionButton opServiceName 
  246.       Caption         =   "Use echo Service Name"
  247.       BeginProperty Font 
  248.          name            =   "MS Sans Serif"
  249.          charset         =   0
  250.          weight          =   400
  251.          size            =   8.25
  252.          underline       =   0   'False
  253.          italic          =   0   'False
  254.          strikethrough   =   0   'False
  255.       EndProperty
  256.       Height          =   225
  257.       Left            =   315
  258.       TabIndex        =   10
  259.       Top             =   2000
  260.       Width           =   2535
  261.    End
  262.    Begin dsSocketLib.DSSocket DSSocket1 
  263.       Height          =   420
  264.       Left            =   3240
  265.       TabIndex        =   15
  266.       Top             =   1920
  267.       Width           =   420
  268.       _version        =   65536
  269.       _extentx        =   741
  270.       _extenty        =   741
  271.       _stockprops     =   64
  272.       localport       =   0
  273.       remotehost      =   ""
  274.       remoteport      =   0
  275.       servicename     =   ""
  276.       remotedotaddr   =   ""
  277.       datasize        =   2048
  278.       linger          =   -1  'True
  279.       timeout         =   10
  280.       linemode        =   0   'False
  281.       eolchar         =   10
  282.       bindconnect     =   0   'False
  283.       sockettype      =   1
  284.    End
  285.    Begin VB.Label Label4 
  286.       Appearance      =   0  'Flat
  287.       BackColor       =   &H00C0C0C0&
  288.       Caption         =   "Echo from server :"
  289.       BeginProperty Font 
  290.          name            =   "MS Sans Serif"
  291.          charset         =   0
  292.          weight          =   400
  293.          size            =   8.25
  294.          underline       =   0   'False
  295.          italic          =   0   'False
  296.          strikethrough   =   0   'False
  297.       EndProperty
  298.       ForeColor       =   &H80000008&
  299.       Height          =   225
  300.       Left            =   105
  301.       TabIndex        =   2
  302.       Top             =   3465
  303.       Width           =   1905
  304.    End
  305.    Begin VB.Label Label3 
  306.       Alignment       =   1  'Right Justify
  307.       Appearance      =   0  'Flat
  308.       BackColor       =   &H00C0C0C0&
  309.       Caption         =   "Data to echo :"
  310.       BeginProperty Font 
  311.          name            =   "MS Sans Serif"
  312.          charset         =   0
  313.          weight          =   400
  314.          size            =   8.25
  315.          underline       =   0   'False
  316.          italic          =   0   'False
  317.          strikethrough   =   0   'False
  318.       EndProperty
  319.       ForeColor       =   &H80000008&
  320.       Height          =   225
  321.       Left            =   105
  322.       TabIndex        =   12
  323.       Top             =   2625
  324.       Width           =   1380
  325.    End
  326. End
  327. Attribute VB_Name = "frmMain"
  328. Attribute VB_Creatable = False
  329. Attribute VB_Exposed = False
  330.  
  331.  
  332.  
  333. Option Explicit
  334.  
  335. '   Declare the constants used to set the Action property
  336. '   and check the State of the socket
  337.  
  338. Const SOCK_ACTION_CLOSE = 1
  339. Const SOCK_ACTION_CONNECT = 2
  340. Const SOCK_ACTION_LISTEN = 3
  341. Const SOCK_STATE_CLOSED = 1
  342. Const SOCK_STATE_CONNECTED = 2
  343.  
  344. Private Sub btnEcho_Click()
  345.  
  346.     '   Setup to handle errors as they occur
  347.     On Error Resume Next
  348.  
  349.     '   set to UDP socket type
  350.     DSSocket1.SocketType = 1
  351.     
  352.     '   If the user selected to use the ServerName, then
  353.     '   set the properties accordingly.  If RemoteDotAddr is
  354.     '   blank, then the control will use the RemoteHost information
  355.     '   to resolve an address.
  356.     If (opServerName) Then
  357.         DSSocket1.RemoteHost = txServerName.Text
  358.         DSSocket1.RemoteDotAddr = ""
  359.     Else
  360.         DSSocket1.RemoteHost = ""
  361.         DSSocket1.RemoteDotAddr = txServerAddress.Text
  362.     End If
  363.  
  364.     '   If the user selected to use the ServiceName, then
  365.     '   set the properties accordingly.  If RemotePort property is
  366.     '   zero, then the control will use the ServiceName information
  367.     '   to resolve a port number for making the connection.
  368.     If (opServiceName) Then
  369.         DSSocket1.ServiceName = "echo"  ' set service name to "echo"
  370.         DSSocket1.RemotePort = 0
  371.     Else
  372.         DSSocket1.ServiceName = ""
  373.         DSSocket1.RemotePort = 7    ' standard TCP port number for echo
  374.                                     ' as defined in SERVICES file
  375.     End If
  376.  
  377.     '   If the socket is not already connected, the do a Connect
  378.     If (DSSocket1.State = SOCK_STATE_CLOSED) Then
  379.         
  380.         '   show the status information
  381.         txStatus.Text = "Connecting to server..."
  382.         
  383.         '   issue the connect command
  384.         DSSocket1.Connect
  385.         
  386.         '   if there were any errors establishing the connection
  387.         '   then report them
  388.         If (Err > 0) Then
  389.             MsgBox "Error attempting connect to server." & Chr(13) & Format(Err) & " : " & Error
  390.             txStatus.Text = Error & "..."
  391.             Exit Sub
  392.             End If
  393.     Else
  394.         DSSocket1.Send = txData.Text
  395.         
  396.     End If
  397.  
  398. End Sub
  399.  
  400. Private Sub dsSocket1_Connect()
  401.  
  402.     txStatus.Text = "Connected to server " + txServerName.Text + "..."
  403.  
  404. End Sub
  405.  
  406. Private Sub dsSocket1_Receive(ReceiveData As String)
  407.  
  408.     '
  409.     '   Process data echoed back from server
  410.     '
  411.     
  412.     On Error Resume Next
  413.  
  414.     '   Display the data in the listbox
  415.     lbEcho.AddItem DSSocket1.RemoteDotAddr & ":" & ReceiveData
  416.  
  417.     '   Make the last item the current one
  418.     lbEcho.ListIndex = lbEcho.ListCount - 1
  419.  
  420.     '   Close the connection.  Normally this wouldn't be done
  421.     '   until we are actually finished with the connection.  We
  422.     '   do it here for demonstration purposes
  423.     DSSocket1.Close
  424.  
  425.     '   If there were any errors then report them.  The Action property
  426.     '   will return errors in the standard VB error variables
  427.     If (Err > 0) Then
  428.         MsgBox "Error disconnecting from server." & Chr(13) & Format(Err) & " : " & Error
  429.         txStatus.Text = Error & "..."
  430.         Exit Sub
  431.     
  432.     '   If no errors, just report the status
  433.     Else
  434.         txStatus.Text = "Disconnected from server " + txServerName.Text + "..."
  435.     
  436.     End If
  437.  
  438. End Sub
  439.  
  440. Private Sub dsSocket1_SendReady()
  441.     
  442.     '   now that the socket is connected, send the data string to be echoed back
  443.     DSSocket1.Send = txData.Text
  444.     
  445.     '   clear the RemoteDotAddr so we can see it come back in the UDP transfer
  446.     DSSocket1.RemoteDotAddr = ""
  447.     
  448.     '   if there were any errors establishing the connection
  449.     '   then report them
  450.     If (Err > 0) Then
  451.         MsgBox "Error sending data to server." & Chr(13) & Format(Err) & " : " & Error
  452.         txStatus.Text = Error & "..."
  453.     
  454.     '   else show the status
  455.     Else
  456.         txStatus.Text = Format(Len(txData.Text)) + " bytes sent to server..."
  457.     
  458.     End If
  459.  
  460. End Sub
  461.  
  462. Private Sub Form_Paint()
  463.  
  464.     '
  465.     '   This is simply some pretty header code
  466.     '
  467.  
  468.     '   Setup to do a shadowed text title and copyright notice.
  469.     FontSize = 30
  470.     FontItalic = True
  471.     ForeColor = &H0
  472.     CurrentX = 140
  473.     CurrentY = -50
  474.     Print "Echo"
  475.  
  476.     ForeColor = &HFF0000
  477.     CurrentX = 110
  478.     CurrentY = -80
  479.     Print "Echo"
  480.  
  481.     FontSize = 12
  482.     CurrentX = 1800
  483.     CurrentY = 300
  484.     Print Chr(169) & "Dolphin Systems Inc."
  485.  
  486. End Sub
  487.  
  488.